Can We Predict the Generation of Bugs? Software Architecture and Quality in Open-Source Development

نویسندگان

  • Manuel Sosa
  • Jürgen Mihm
  • Tyson Browning
چکیده

We study how software architecture relates to quality. Based on a software architecture representation that accounts for not only the hierarchical arrangement of its subsystems and components but also their dependency structure, we formally define the notion of system cyclicality. System cyclicality is an architectural property that captures the fraction of mutually interdependent components in a system. By examining multiple versions of 20 open-source, java-based applications (126 total) developed by the Apache Foundation, we empirically analyze the relationship between software architecture characteristics and the creation of bugs. Our results suggest that, while controlling for various system characteristics, system cyclicality is a key determinant of bug creation. Interestingly, we found evidence that it is not just the cycles themselves, but how hidden they are, that drive the effects of system cyclicality and bug creation. From an academic viewpoint, this work provides a theoretical and empirical basis for a causal link between the architecture of a complex system and its quality. This has important implications for the management of complex system design and development in fast-paced industries such as software. Our results suggest that managers could benefit from proactively examining the architecture of the system they develop and monitoring its cyclicality as one of their strategies to mitigate the creation of defects. DRAFT – Please, do not quote or distribute without permission 1

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Design for Quality: the Case of Open Source Software Development

This paper proposes and examines a model of the relationship between elements of product design and software quality in open source software (OSS) development projects. Research suggests that product design, or product architecture, affects work processes and outputs in the production of goods and services. In the case of software, we therefore hypothesize that product architecture affects char...

متن کامل

Understanding the triaging and fixing processes of long lived bugs

Context: Bug fixing is an integral part of software development and maintenance. A large number of bugs often indicate poor software quality, since buggy behavior not only causes failures that may be costly but also has a detrimental effect on the user’s overall experience with the software product. The impact of long lived bugs can be even more critical since experiencing the same bug version ...

متن کامل

Explaining the effective features of open and semi-open spaces in availability and increase of social interactions in residential complexes

By increasing house demand for living, the urban development planning has turned to towers, which provides a platform for the growth of the city, regardless of the traditional Iranian's architecture. Among the vital elements in traditional architecture, there are a variety of open and semi-open spaces such as the central courtyard, pool, veranda, balcony, etc that have been provided the needs f...

متن کامل

Predicting Bugs in Source Code Changes with Incremental Learning Method

Software is constructed by a series of changes and each change has the risk to introduce bugs. Predicting the existence of bugs in source code changes could help developers detect and fix bugs immediately upon the completion of a change, which accelerates the bug fixing process and save the limited time and human resources effectively. However, because of altering nature in the underlying bug g...

متن کامل

The Way Ahead for Bug-fix time Prediction

The bug-fix time i.e. the time to fix a bug after the bug was introduced is an important factor for bug related analysis, such as measuring software quality or coordinating development effort during bug triaging. Previous work has proposed many bug-fix time prediction models that use various bug attributes (number of developers who participated in fixing the bug, bug severity, bug-opener’s repu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009